/*!
 @header MoodFormViewController.h
 @author 王 文彬
 @version 1.0.0 2013/01/29 Creation
 Copyright (c) 2013年 mypocketbaby. All rights reserved.
 */

/*!
 @enum
 @abstract 信息表格的类型。商讯和推荐商品两种类型
 @constant MoodFormTypeBusinessInfo 0
 @constant MoodFormTypeRecommendProduct 1
 */
typedef NS_ENUM(NSInteger, MoodFormType) {
    MoodFormTypeBusinessInfo,
    MoodFormTypeRecommendProduct
};


#import <UIKit/UIKit.h>
#import "CirclePickerViewController.h"
#import "JSONRequest.h"
#import "GKImageCropper.h"

/*!
 @abstract MoodFormViewController通用于用户发心情和推荐商讯。可填写内容、选择图片以及选择要发布的圈子。
 */
@interface MoodFormViewController : UIViewController <CirclePickerDelegate, JSONRequestDelegate, GKImageCropperDelegate, UITextViewDelegate, UIActionSheetDelegate,UINavigationControllerDelegate, UIImagePickerControllerDelegate, UIAlertViewDelegate>
{
    //界面元素
    UITextView* _contentTextView;                   //内容填写TextView
    UILabel*    _countLabel;                        //内容字数计数Label
    UIView*     _imagesView;                        //图片选择区域View
    UIView*     _circleView;                        //圈子选择区域View
    UIButton*   _submitButton;                      //发布Button
    UIButton*   _circleButton;                      //选择圈子Button
    UILabel*    _circleLabel;                       //用户选择圈子后，显示出已选择的圈子名称Label
    
    UIButton*    _thumbImageButton1;                //供用户选择图片的Button1
    UIButton*    _thumbImageButton2;                //供用户选择图片的Button2
    UIButton*    _thumbImageButton3;                //供用户选择图片的Button3
    
    UIImage*     _thumbImage1;                      //用户选择的第一张image
    UIImage*     _thumbImage2;                      //用户选择的第二张image
    UIImage*     _thumbImage3;                      //用户选择的第三张image

    
    //逻辑使用
    
    //当用户在添加图片的时候，记录下用户当前在处理的imageButton，以便把3个thumbImage设置用户拍照或者从相册中选择后的image
    UIButton*    _currentImageButton;               
    NSString*    _circleIDString;                   //圈子Id集合字符串

    UINavigationController* _circlePickerNC;        //点击选择圈子按钮时，VC应该被present，所以要实例化一个NC
    
    
    //如果是推荐商讯的时候，需要传入被推荐的商讯的id
    NSInteger    _dynamicID;
    
    //如果推荐的是商品，那么就传入被推荐的商品的id
    NSInteger    _productID;
    
    //关键的变量，此变量用于区分该VC的用途，_formType的值为MoodFormTypeBusinessInfo时，此VC用于发布心情，否则为推荐商讯
    MoodFormType  _formType;
}

/*!
 @abstract 如果是推荐商讯的时候，需要传入被推荐的商讯的id
 */
@property (assign, nonatomic) NSInteger  dynamicID;

/*!
 @abstract 如果推荐的是商品，那么就传入被推荐的商品的id
 */
@property (assign, nonatomic) NSInteger  productID;

/*!
 @abstract 关键的变量，此变量用于区分该VC的用途，_formType的值为MoodFormTypeBusinessInfo时，此VC用于发布心情，否则为推荐商讯
 */
@property (assign, nonatomic) MoodFormType formType;

@end
